Overview#
The Execution Graph is a powerful visual node-based automation system that allows you to create complex workflows without writing any code. Think of it as a visual programming language where you connect different nodes together to build sophisticated automations for your entire workflow.
With the Execution Graph, you can:
Automate repetitive tasks across your entire workflow
Create complex workflows using simple drag-and-drop operations
Build conditional logic and data processing chains
Integrate with external tools and services
Trigger automations based on pipeline events
User Interface Guide#
Interface Overview#
The Execution Graph interface is designed for efficient workflow creation. Here’s what each area does:
- Central Node Graph
This is your main workspace where you’ll create and connect nodes to build your automation workflows.
- Output Log (Bottom Panel)
Shows real-time feedback and results from each node as your graph executes. This is invaluable for debugging and monitoring your automations.
- Navigation Tab Bar (Top)
Navigate between nested node graphs and access the “Run” button to execute your current graph.
- Right-Side Panel System
Three essential panels help you configure and manage your work:
Node Parameters Panel - Configure settings for the currently selected node
Graph Settings Panel - Set up graph-wide options like descriptions and callback triggers
Graph Library Panel - Save, load, and organize your node graph templates
Creating Nodes#
There are two convenient ways to add nodes to your graph:
- Method 1: Tab Menu
Access the comprehensive node library through the tab menu system.
- Method 2: Right-Click Context Menu
Right-click anywhere in the node graph for quick access to all nodes.
Connecting Nodes#
Creating connections between nodes defines the flow of your automation workflow. Here’s how it works:
- Basic Connection Process:
Click and drag from any output port (right side of a node)
Drop onto a compatible input port (left side of another node)
The connection line will appear, showing your data flow
- Connection Rules:
Execution ports (flow control) can only connect to other execution ports
Cycles are prevented - you cannot create loops that would cause infinite execution
Most input ports accept only one connection, but some special nodes like the Merge node can accept multiple inputs
Advanced Connection Techniques:
- Lazy Connection Mode
Hold ALT and drag with the right mouse button to enable “Lazy Connection” mode. This automatically connects the closest output port from your starting node to the closest input port of your target node. Perfect for quick connections!
Disconnecting Nodes#
Remove connections when you need to modify your workflow:
- Method 1: Direct Deletion
Select any connection line and press Delete to remove it.
- Method 2: Slicer Tool
Press Y to activate the slicer tool, then drag across connection lines to cut them quickly.
- Method 3: Node Shaking
Rapidly move a node in different directions to automatically disconnect all its connections. This is useful for quickly isolating a node.
Removing Nodes#
- Simple Deletion:
Select any node and press Delete to remove it from your graph.
Working with Nested Graphs#
Some nodes support nested node graphs, allowing you to create modular, reusable components:
- Supported Node Types:
Group Node - Create reusable sub-workflows
For Each Node - Define iterative operations
Other container nodes - Various specialized containers
- Accessing Nested Graphs:
Double-click any node that supports nesting to open its internal graph in a new tab. Use the tab bar to navigate between your main graph and nested sub-graphs.
Saving and Loading Graphs#
- File Management:
Use the File Menu to save and load your node graphs.
Keyboard Shortcuts#
Master these shortcuts to work efficiently with the Execution Graph:
- Node Management
Tab - Open the node creation menu
Delete - Remove selected nodes and connections
Y - Activate the connection slicer tool
- Clipboard Operations
Ctrl + C - Copy selected nodes to clipboard
Ctrl + V - Paste nodes from clipboard
- File Operations
Ctrl + N - Create a new blank graph
Ctrl + O - Open an existing graph file
Ctrl + S - Save the current graph
Ctrl + Shift + S - Save graph with a new name
- Window Management
Ctrl + Shift + N - Open a new Editor window
- Edit Operations
Ctrl + Z - Undo last action
Ctrl + Y - Redo last undone action
Ctrl + A - Select all nodes in the graph
- Application Control
Alt + F4 - Close the editor
F5 - Execute the current graph
- Node State Management
D - Toggle disabled/enabled state of selected nodes
I - Show detailed information for selected nodes
- Layout and Organization
F - Frame selected nodes (or all nodes if nothing selected)
L - Auto-layout selected nodes (or all nodes if nothing selected)
Ctrl + L - Layout selected nodes horizontally
Ctrl + Alt + L - Layout horizontally with even spacing
Shift + L - Layout selected nodes vertically
Shift + Alt + L - Layout vertically with even spacing
- Positioning Aids
S - Toggle snap-to-nodes when moving nodes
Shift + S - Toggle snap-to-grid when moving nodes
- Advanced Connection Modes
Alt + Right Mouse - Lazy Connect Mode (automatic connection)
Ctrl + Alt + Right Mouse - Lazy Connect Mode (replace existing connections)
Ctrl + Shift + Alt + Right Mouse - Lazy Connect Mode (create multiple connections)
Running Your Automations#
There are several ways to execute your node graphs, each suited for different workflow needs:
In the Editor#
- Full Graph Execution
Click the Run button in the toolbar to execute your entire graph. The execution will:
Start from the “Input” node
Follow the execution connections in sequence
Process each connected node according to your workflow logic
Display results in the Output Log
- Selective Node Execution
For testing and debugging, you can execute specific parts of your graph:
Right-click any node in your graph
Select “Execute” from the context menu
The system will automatically execute that node and all its required input nodes
This is perfect for testing individual components or debugging specific workflow sections.
Automatic Execution with Callbacks#
Set up your graphs to run automatically when specific pipeline events occur:
- Configuring Callbacks
In the Graph Settings panel, you can define callback triggers for automatic execution. Your graphs can respond to Prism Pipeline events such as:
When a new shot is created
When an asset gets exported
When files are published
When project states change
Other custom pipeline events
This powerful feature allows you to create responsive automations that trigger exactly when needed in your pipeline workflow.
Programmatic Execution#
- Python API
Execute graphs programmatically using Python:
pcore.getPlugin("ExecutionGraph").executeGraphFromFile(graphPath)
This allows you to integrate Execution Graph automations into custom scripts, other plugins, or external applications.
Graph Libraries and Templates#
The Graph Library system helps you organize, share, and reuse your automation workflows:
- Saving and Loading Graphs
Use the Graph Library panel to manage your workflow templates and share them across projects.
- Prism Online Library
Expand your automation capabilities by accessing community-created graphs:
Click the “More” button in the Graph Library panel
Browse and download additional graphs from the Prism Online Library
Integrate community solutions into your workflows
- Project-Specific Libraries
Store and organize graphs within your project libraries:
Save commonly used workflows for easy team access
Create project-specific automation templates
Important: Remove the .json file filter from your library in the Project Settings to enable saving node graphs to custom project libraries
Extending with Custom Nodes#
Create Your Own Node Types#
- Method 1: Using the Interface
Go to File → Create Node Type
Follow the guided creation process
Define your node’s inputs, outputs, and functionality
- Method 2: JSON Definition
Copy the JSON node definition from an existing node
Modify it to create your custom functionality
Save it in a location where Prism scans for node definitions
Custom Node Loading System#
Prism uses a flexible system to load custom node definitions:
- Default Location
Standard nodes are loaded from:
Resources\Nodedefs\standard_nodedefs.json- User-Specific Nodes
Personal custom nodes can be placed in:
%USERPROFILE%\Prism2\Presets\ExecutionGraph\NodeDefs\All .json files in this directory will be automatically scanned.
- Advanced Configuration
For complex setups, use environment variables:
PRISM_EG_NODEDEF_PATHS - Specify additional .json files to load
PRISM_EG_NODEDEF_SEARCH_PATHS - Define directories to scan for node definition files
All specified search paths will be recursively scanned for JSON files containing node definitions.
- Benefits of Custom Nodes:
Extend Execution Graph functionality for specific pipeline needs
Create reusable components for complex operations
Share specialized nodes across your team or the community
- Quick Node Creation Tip:
You can paste custom node type definitions directly into the node graph to instantly create nodes from JSON definitions stored in your clipboard.
Configuration and Environment Variables#
Fine-tune the Execution Graph plugin behavior using these environment variables:
Variable Name |
Description |
|---|---|
PRISM_EG_GRAPH_FOLDERS |
Specify additional folders that will appear in the Graph Library for loading node graphs. Useful for organization-wide template sharing. |
PRISM_EG_NODEDEF_PATHS |
Define specific file paths containing custom node definitions. Add multiple paths separated by your system’s path separator. |
PRISM_EG_NODEDEF_SEARCH_PATHS |
Set directories that will be recursively searched for node definition files. Great for organizing custom nodes by category. |
PRISM_EG_SHOW_SHADOWS |
Control visual performance: |
![[Logo: Execution Graph]](../../_static/banner_logos/execution_graph_logo.png)